The present invention relates to the field of computer peripherals. More specifically, the present invention relates to a standard device identifier for a Universal Serial Bus (USB) peripheral device which enables any USB peripheral device in a particular model line to be interchanged with another USB device from the same model line, without reinstallation of the device driver or reconfiguration of the communication port for the replacement USB device by the host device.
The standard practice to implement a USB communication connection on a peripheral device requires that the peripheral device be identified. As shown in FIG. 1, the identification of a prior art USB peripheral device 10 is accomplished by providing a unique USB identifier string 12 (e.g., text data) from the peripheral device (e.g., a printer) 10 to the host device (e.g., a personal computer) 14. As shown in FIG. 1, this unique identifier 12 is typically created by using the serial number 11 of the peripheral device 10 or other information which is unique to that particular peripheral device 10. This “uniqueness” allows the operating system of the host device 14 to uniquely identify each peripheral device that is attached to it via a USB link.
This unique identification allows the operating system of the host device 14 to communicate with more than one USB peripheral device as shown in FIG. 2, even if the peripheral devices are the same (e.g., Scanner model XYZ). FIG. 2 shows two peripheral devices 10 and 20 connected to the host device 14 at communications ports 16 and 17 (COM 3 and COM 4), respectively. Each peripheral device is from the same model line 13 (model XYZ). However, each peripheral device has a unique serial number 11, 21, and therefore a unique USB identifier 12, 22.
This standard implementation has the limitation that, in the event a peripheral device is replaced (e.g., due to failure) with a peripheral device that is identical, the operating system must reinstall the USB drivers. This reinstallation is required because each USB device is uniquely identified by its identification string. As shown in FIG. 3, when a peripheral device (e.g., peripheral device 10 of FIG. 1) is replaced with another peripheral device from the same model line (e.g., peripheral device 20), in addition to the reinstallation of device drivers, the operating system of the host device 14 will select a different name for the communications port that a software application uses to communicate to the replacement device 20. As shown in FIG. 3, when replacement device 20 is attached to the host, it is assigned communication port 17 (COM 4), while the application 18 is still attempting to communicate with USB peripheral device 10 via communication port 16 (COM 3). Therefore, this port reassignment further requires that the user application 18 running on the host device 14 be re-configured to use the new port 17 to continue to function and communicate with the replacement USB peripheral device 20. This problem is especially true with printers since printers typically have printer ports created by the operating system, but it is not limited to printers.
It would be advantageous to enable interchangeability of identical USB peripheral devices from the same model line without the need to reinstall device drivers or reconfigure communication ports on the host device.
The methods and apparatus of the present invention provide the foregoing and other advantages.